#include <iostream>
#include "graph.h"
#include "graph_algorithms.h"

struct console_output_writer
{
  console_output_writer & operator *()
  {
    return *this;
  }

  console_output_writer & operator =(vertex_id v)
  {
    std::cout << "B" << v.bucket_index << ";V" << v.vertex_index << "\n";
  }

  console_output_writer & operator ++()
  {
    return *this;
  }

  console_output_writer & operator ++(int)
  {
    return *this;
  }
};
int main()
{
  db_graph_t g("/home/sa1nt/Projects/shortest-paths/cpp/buckets/");

  console_output_writer w;

  dijkstra_shortest_path(g, vertex_id(0, 0), vertex_id(999999, 22), w);

//  srand(10201313);
//  for (size_t i = 0; i < 2000; ++i)
//  {
//    geodata_t d = g.get_data(vertex_id(rand() % 10000, rand() % 100));
//  }

  std::cout << "We are ok." << std::endl;
}
